package com.liushuyv.calculator.bll;

/*
 **@Author:刘淑钰
 * 第三步修改
 **Created on 2020/12/1
 */
public class AddOperation<T extends Number> extends Operation<T> {
    //第一个T是定义，第二个是实例化使用，第三个也是使用，凡是要使用就应该实例化
    @Override
    public T getResult() {
        Class<?> type = a.getClass();
        if (type == Integer.class) {
      /*  int r =a.intValue()+b.intValue();//保存a的值
        Integer resultObj=new Integer(r);//创建一个值为r的对象
        return (T)resultObj;//把它从整形引用型·对象强制转化为T型返回，因为函数头定义的是T*/
            return (T) new Integer(a.intValue() + b.intValue());
        } else if (type == Float.class) {
            return (T) new Float(a.floatValue() + b.floatValue());
        }
        else (type == Double.class){
            return (T) new Double(a.doubleValue() + b.doubleValue());
        }
    }}